1. Field of the Invention
This invention relates to a method for error checking transferred data in data communication systems. More specifically, this invention relates to a method for making a real time determination of whether to check data frames for errors in data communication systems.
2. Related Art
Data communications involve the transfer of information from one computing element to another. The type of traffic carried by a data communication system defines the requirements of the communication medium and the access methodology. The communication medium generally carries three kinds of traffic: voice, video, and data files.
Data files are divided into frames or packets of a size that the data communication system, or data network, can handle. The frames generally contain six elements--flags, frame-control information, a source address, a destination address, the payload, and cyclical redundancy check bits. The flags in a frame include a unique set of bits or characters that identify the frame's start and end. The frame control information identifies the frame type--most often whether it is a payload or control frame. The source address identifies the station transmitting the data. The destination address identifies the intended end station. The payload contains the data to be processed. The cyclical redundancy check bits determine whether the frame accumulated errors during transmission.
In some data communication systems, such as wide-area networks (WANs), errors in transmission occur fairly regularly. In these high error systems, transmissions are checked for errors at every intermediate node, and the intermediate node feeds back the status (correct or incorrect) to the previous node. Older networks, such as the X.25 packet network, use this error checking methodology. When an intermediate node detects an incorrectly received frame, the node may request retransmission of the frame. Complete error checking at every node swells the communications overhead, but works the best in systems with high error rates. For example, with a noisy medium, if packets were not checked at every node, virtually none would reach its destination, and throughput would drop near zero as the system would do nothing but retransmit bad packets.
In other data communication systems, such as local-area networks (LANs), where fewer errors occur, the system does not check for errors until the frame has reached its final destination. In frame relay systems, each frame is forwarded to the next node without checking for errors. This shrinks network storage requirements and delay. Of course, when an error is discovered, the system must resend the bad frame over the entire communications path. Another type of data communication technology is asynchronous transfer mode (ATM) technology. ATM technology employs cells with a fixed length of fifty-three bytes. The ATM cell typically has a forty-eight byte payload which carries a data message and a five byte header. The header contains mostly routing information for moving the cells from one communication system node to the next.
In ATM communication systems, each data frame may have a bit which indicates whether the frame is high priority or low priority. Some frames contain more important data than others. For instance, in a channel carrying video, the synchronization information is more important than the information about the individual pixels on the video screen. If the synchronization information is lost, the entire screen is affected, whereas the loss of a group of pixels has less subjective effect on viewing quality. The user and the system network generally determine the percentage of high priority frames at network setup time. The source system, where the frame originates, may designate mandatory frames as high priority and merely optional frames as low priority. Designating frames high priority or low priority provides a mechanism for alleviating overtrafficking in the data network. If overtrafficking occurs in an ATM system, a congested frame relay switch may discard low priority cells before discarding high priority ones.
With the advent of ATM systems, a need arose for streamlining error checking of the data frames. Checking each data frame for errors is a potentially time consuming and congestion-inducing network task.
The difficulty suggested in the preceding is not intended to be exhaustive but rather is among many which tend to reduce the effectiveness of prior error checking methods in data communication systems. Other noteworthy problems may also exist; however, that presented above should be sufficient to demonstrate that such methods appearing in the past will admit to worthwhile improvement.